home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / pyshared / simplejson / tool.py < prev   
Text File  |  2009-02-18  |  900b  |  38 lines

  1. r"""Command-line tool to validate and pretty-print JSON
  2.  
  3. Usage::
  4.  
  5.     $ echo '{"json":"obj"}' | python -m simplejson.tool
  6.     {
  7.         "json": "obj"
  8.     }
  9.     $ echo '{ 1.2:3.4}' | python -m simplejson.tool
  10.     Expecting property name: line 1 column 2 (char 2)
  11.  
  12. """
  13. import sys
  14. import simplejson
  15.  
  16. def main():
  17.     if len(sys.argv) == 1:
  18.         infile = sys.stdin
  19.         outfile = sys.stdout
  20.     elif len(sys.argv) == 2:
  21.         infile = open(sys.argv[1], 'rb')
  22.         outfile = sys.stdout
  23.     elif len(sys.argv) == 3:
  24.         infile = open(sys.argv[1], 'rb')
  25.         outfile = open(sys.argv[2], 'wb')
  26.     else:
  27.         raise SystemExit(sys.argv[0] + " [infile [outfile]]")
  28.     try:
  29.         obj = simplejson.load(infile)
  30.     except ValueError, e:
  31.         raise SystemExit(e)
  32.     simplejson.dump(obj, outfile, sort_keys=True, indent=4)
  33.     outfile.write('\n')
  34.  
  35.  
  36. if __name__ == '__main__':
  37.     main()
  38.